package com.dhj.jvmstudy.chapter09;

import java.util.ArrayList;

/**
 * -XX:+PrintCommandLineFlags 查看命令行相关参数（包括使用的垃圾回收器）
 *
 * 使用命令行指令：jinfo -flag 相关垃圾回收器参数 进程ID
 *
 * -XX:+UseSerialGC 指定年轻代和老年代都使用串行收集器
 */
public class GCUserTest {

    public static void main(String[] args) throws InterruptedException {
        ArrayList<byte[]> list = new ArrayList<>();

        while (true){
            byte[] arr = new byte[100];
            list.add(arr);

            Thread.sleep(100);
        }
    }

    /**
     * -XX:InitialHeapSize=263196800 -XX:MaxHeapSize=4211148800 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
     *
     * -XX:+UseParallelGC 即为使用的垃圾回收器的GC，这个是老年代的垃圾回收器，通过此就能找到相对应的新生代的垃圾回收器
     */

    /**
     * 命令行：
     *
     C:\Users\DaHuaJia>jps
     8448
     9856 GCUserTest
     13816 Launcher
     17484 Jps

     C:\Users\DaHuaJia>jinfo -flag UseParallelGC 9856
     -XX:+UseParallelGC

     C:\Users\DaHuaJia>jinfo -flag UseParallelOldGC 9856
     -XX:+UseParallelOldGC

     C:\Users\DaHuaJia>jinfo -flag UseG1GC 9856
     no such flag 'UseG1GC'

     */

}
